///************************************************************************
/// <copyrigth>2024-2025 Corporation.All Rights Reserved</copyrigth>
/// <author>tangyingzhong</author>
/// <contact>tangyz114987@outlook.com</contact>
/// <version>v1.0.0</version>
/// <describe>
/// Cross-Platform export configuration
///</describe>
/// <date>2024/1/8</date>
///***********************************************************************
#ifndef MODULECONFIG_H
#define MODULECONFIG_H

#ifdef _WIN32
    #ifdef EXPORT_FUNC
        #define FUNC_ITEM extern "C" __declspec(dllexport)
    #else
        #define FUNC_ITEM extern "C" __declspec(dllimport)
    #endif

    #ifdef EXPORT_CLASS
        #define CLASS_ITEM __declspec(dllexport)
    #else
        #define CLASS_ITEM __declspec(dllimport)
    #endif
#else
    #ifdef EXPORT_FUNC
        #define FUNC_ITEM extern "C" 
    #else
        #define FUNC_ITEM extern "C" 
    #endif

    #if EXPORT_CLASS
    #define CLASS_ITEM __attribute__ ((visibility ("default")))
    #else
        #define CLASS_ITEM
    #endif
#endif

#endif // MODULECONFIG_H